/////////////////////////////////////////////////////////////////
/// 判断某年份是否为闰年
/// idea: 判断当前年（或指定年）是否为闰年

function isLeapYear(year) {
    var date = new Date(year, 2, 0);
    // date.setFullYear(year, 2, 0);   //设置为指定年的 3月1日前1天，即2月底
    return(date.getDate()===29?true:false);     //2月底为29号，则为闰年
}
console.log(isLeapYear(2016))

///////////////////////////////////////////////////////////////
///获得某个月份的天数
/// idea: 判断当前月（或指定月）的天数

function daysOfMonth(year, month) {
    var date = new Date(year, month, 0);
    // date.setFullYear(year, month, 0);
    return(date.getDate())
}
console.log(daysOfMonth(2015,1))

////////////////////////////////////////////////////////
///判断两个日期相差的天数
/// idea: 判断 getTime() 的时间，求差
/// date_1 = 2015/4/5
function timeDiff(date_1, date_2) {
    var date_1 = new Date(date_1);
    var date_2 = new Date(date_2);
    var diffValue = date_2 - date_1;
    return(diffValue / (1000*60*60*24))
}
console.log(timeDiff('2015/4/5', '2016/4/5'));

////////////////////////////////////////////////////////
///获得N天以后的日期
/// idea: 先获得当前日期

function daysOfDateN(n) {
    var date = new Date();
    date.setDate(date.getDate()+n);
    return(date);
}
console.log(daysOfDateN(365));

///////////////////////////////////////////////////////////////
/// 1、获取当前时间；
function nowaday(positionTag) {
    // 传入ID标识符
    function update(){
        var date = new Date();
        var dateInfo = ['Y','M','D','h','m','s'];
        dateInfo[0] = date.getFullYear();
        dateInfo[1] = date.getMonth();
        dateInfo[2] = date.getDate();
        dateInfo[3] = date.getHours();
        dateInfo[4] = date.getMinutes();
        dateInfo[5] = date.getSeconds();

        for (var i = 3; i<dateInfo.length; i++) {
            dateInfo[i] = dateInfo[i] < 10? ('0'+dateInfo[i]): (''+dateInfo[i]);
        }

        var formatDate = dateInfo.slice(0, 3).join('-');
        var formatTime = dateInfo.slice(3).join(':')

        document.getElementById(positionTag).innerHTML = formatDate + ' ' + formatTime;
    }
    update();
    setInterval(function(){
        update();
    }, 500)
}
nowaday('realTime');    //传入ID标识符

///////////////////////////////////////////////////////////////
/// 1、获取页面停留时间；
function pageDetentionTime(positionTag){
    //传入ID标识符
    var startDate = new Date();
    function update(){
        var nowDate = new Date();
        var msInterval = nowDate - startDate;
        var date = new Date(msInterval);
        var h = date.getUTCHours();
        var m = date.getUTCMinutes();
        var s = date.getUTCSeconds();
        document.getElementById(positionTag).innerHTML = h + '小时' + m + '分' + s + '秒';
    }
    update();
    setInterval(function(){
        update();
    }, 500)
}
pageDetentionTime('detentionTime');     //传入标识符

//////////////////////////////////////////////////////////
///数码时钟
function digitalClock(positionTag){
    var imgs = document.getElementsByTagName('img');
    function update(){
        var date = new Date();
        var dateInfo = ['h','m','s'];
        dateInfo[0] = date.getHours();
        dateInfo[1] = date.getMinutes();
        dateInfo[2] = date.getSeconds();

        for (var i = 0; i<dateInfo.length; i++) {
            dateInfo[i] = dateInfo[i] < 10? ('0'+dateInfo[i]): (''+dateInfo[i]);
        }
        var strTime = dateInfo.join('');

        for (var i in strTime) {
            imgs[i].src = './images/' + strTime[i] + '.png';
        }
    }
    update()
    setInterval(function(){
        update();
    }, 500);
}

digitalClock('digitalClock')
